Java(TM) IDL 1.1 Early Access Release README
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Welcome to the Java IDL 1.1 Early Access release. Thank you for 
your interest in this product and for taking the time to download 
the software and documentation.

This Early Access release of Java IDL is a preliminary release 
conforming to the proposed OMG Java IDL Specification. This
specification is expected to be approved by the OMG in the near
future. 

When using the JavaIDL 1.1 EA release, it is important to remember:
	- This release is not intended for production level
	  development. 
	- This release does not imply a commitment for any future
	  product releases or any future product release dates.
	- This release does not imply any particular packaging or
	  release mechanism if JavaIDL is released in the future.

Included in this release are two examples, Hello World and Portfolio
Manager. They can be found in the examples directory.

This README file contains information about:
	Java IDL System Requirements
	Java IDL Installation Guide
	Java IDL Bug Report containing descriptions of known
	problems in this release 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Java IDL System Requirements
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SPARC/Solaris Platform
	Solaris 2.3 or higher
	JDK 1.0.2 or higher
	To run Java IDL applets, one of:
		HotJava 1.0 or higher
		Netscape Navigator 3.0 or higher

Microsoft Win32 Platforms
	Windows NT 3.5.1 or higher, or Windows 95
	JDK 1.0.2 or higher
	Visual C++ 4.0 or higher
	To run Java IDL applets, one of:
		HotJava 1.0 or higher
		Netscape Navigator 3.0 or higher
		Microsoft Internet Explorer 3.0 or higher

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Java IDL Installation Guide
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. These instructions assume that: 

   - You have successfully downloaded Java IDL from the website. 
   - If you are using the Solaris version, you have untarred the files. 
   - If you are using the NT/Windows 95 version, you have 
     executed JavaIDL.exe.
   - You have a JavaIDL installation directory, created by untarring 
     or running JavaIDL.exe.  

Read these instructions carefully before beginning the installation. 
Be sure you know the location of the Java interpreter, the
Java CLASSPATH, and the location of your JavaIDL installation directory.

2. Go to the "bin" directory of the "JavaIDL" directory:

   % cd JavaIDL
   % cd bin

3. Have the Java interpreter run the class installJavaIDL and answer
   the installation questions. Examples are given in step 4. 

   The installJavaIDL program will ask for:
   - the location of the Java interpreter (i.e., the full path to the
     executable program),
   - the Java CLASSPATH to be used, and
   - the location of the JavaIDL installation. 

   The installJavaIDL program will then create a startup script for
   the COS Name Server implementation (called "nameserv" for Solaris
   and "nameserv.bat" for Windows). The script will reside in the
   "bin" directory of the JavaIDL installation, and can be used to
   start the Name Server.
   
4. Installation Examples:

   The following installation scenarios assume that:  
   -the Java interpreter can be found by searching the PATH 
     (the actual name of the Java interpreter may vary, so 
     substitute the real name for "java" where used below) 
   - the CLASSPATH includes "." (the current directory). 

   In the scenarios below, the cursor is shown as _ (underscore), 
   comments are shown indented and in parentheses.

   4.1 Solaris:

   For the example scenario, we are assuming that JDK is installed
   under "/opt/java", and that JavaIDL has been unpacked as
   "/opt/JavaIDL".

   % java installJavaIDL

   Welcome to the Installation of JavaIDL for Solaris.
   Enter full path to Java interpreter executable
    (JDK 1.0.2 or higher): _

        (Type the full path to the Java Interpreter executable,
	e.g. "/opt/java/bin/java" and finish with RETURN. The full path
	must exist as a file, otherwise the installJavaIDL program
	will print out an error message and ask again for the full
	path.)

        (The installJavaIDL program will then attempt to guess a
	suitable CLASSPATH, based on the location of the Java
	Interpreter. If it can, it will display its guess in brackets
	[], and just hitting RETURN will select the guess.)

   Enter full Java classpath [/opt/java/lib/classes.zip]: _

        (If the suggested classpath is correct, just hit
	RETURN. Otherwise, type in the correct CLASSPATH, which can be
	multiple PATHs separated by ':',  and finish with RETURN.)

	(The installJavaIDL program will then attempt to guess the location
	of the JavaIDL installation. If it can, it will display its
	guess in brackets [], and just hitting RETURN will select the
	guess.)

   Enter JavaIdl Path [/opt/JavaIDL]: _

        (If the suggested location is correct, just hit
	RETURN. Otherwise, type in the correct location of JavaIDL,
	and finish with RETURN. The installJavaIDL program then
	verifies the entered location; if it is not correct the
	program will prompt again for the correct location of the
	JavaIDL installation.)

	(The installJavaIDL program then prints	out the selected paths
	to be used when generating the script for the Name Server.) 

   Using:
   Java Interpreter: /opt/java/bin/java
   Java Classpath: /opt/java/lib/classes.zip
   JavaIDL Path: /opt/JavaIDL

   Generating script...

   Installation for Solaris complete.

   The script "/opt/JavaIDL/bin/nameserv" can be used to start the COS Name Server.

        (The installJavaIDL program indicates that the installation is
	complete, and prints out the name of the script that can be
	used to start the Name Server, in this case
	"/opt/JavaIDL/bin/nameserv").

********
NOTE: There are two issues to keep in mind when running nameserv:
	1. On Solaris, you must be root to run nameserv since it
	uses port 900 as the initial port by default. If this is
        not acceptable, a portnumber greater than 1023 must be
        specified (see note 2).
        2. When starting the Name Server, if the default port is
        not acceptable, a different initial port number can be
	given with:
        nameserv -ORBInitialPort 
	
   4.2 Windows NT:   

   This example scenario assumes that JDK is installed
   under "c:\jdk", and that JavaIDL has been unpacked as
   "c:\JavaIDL".

   > java installJavaIDL

   Welcome to the Installation of JavaIDL for Windows NT.

   Enter full path to Java interpreter executable
    (JDK 1.0.2 or higher): _

        (Type the full path to the Java Interpreter executable,
	e.g. "c:\jdk\bin\java" and finish with RETURN. The full path
	must exist as a file, or as a file with ".exe" or ".bat"
	appended to the name, otherwise the installJavaIDL program
	will print out an error message and ask again for the full
	path.)

        (The installJavaIDL program will then attempt to guess a
	suitable CLASSPATH, based on the location of the Java
	Interpreter. If it can, it will display its guess in brackets
	[], and just hitting RETURN will select the guess.)

   Enter full Java classpath [c:\jdk\lib\classes.zip]: _

        (If the suggested classpath is correct, just hit
	RETURN. Otherwise, type in the correct CLASSPATH, which can be
	multiple PATHs separated by ';',  and finish with RETURN.)

	(The installJavaIDL program will then attempt to guess the location
	of the JavaIDL installation. If it can, it will display its
	guess in brackets [], and just hitting RETURN will select the
	guess.)

   Enter JavaIdl Path [c:\JavaIDL]: _

        (If the suggested location is correct, just hit
	RETURN. Otherwise, type in the correct location of JavaIDL,
	and finish with RETURN. The installJavaIDL program then
	verifies the entered location; if it is not correct the
	program will prompt again for the correct location of the
	JavaIDL installation.

	(The installJavaIDL program then prints	out the selected paths
	to be used when generating the script for the Name Server.) 

   Using:
   Java Interpreter: c:\jdk\bin\java
   Java Classpath: c:\jdk\lib\classes.zip
   JavaIDL Path: c:\JavaIDL

   Generating script...

   Installation for Windows NT complete.

   The script "c:\JavaIDL\bin\nameserv" can be used to start the COS Name Server.

        (The installJavaIDL program indicates that the installation is
	complete, and prints out the name of the script that can be
	used to start the Name Server, in this case
	"c:\JavaIDL\bin\nameserv").


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Java IDL Bug Report
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The following is a list of known bugs/limitations in the JavaIDL EA
release.

  o The IDL to Java compiler does not handle declarations nested inside IDL 
    structs, unions and exceptions. However, declarations can be nested
    inside IDL interfaces.
	
  o #pragma ID, and #pragma version are not supported; #pragma prefix 
    can appear only at the global scope. 

  o IDL module reopening is not supported by the IDL compiler.

  o Of the recently added type extensions to IDL, only longlong (signed and 
    unsigned) is supported.

  o Multiple DII Request operations like send_multiple_requests_deferred,
    send_multiple_requests_oneway, poll_next_response, get_next_response
    are not supported.

  o DSI is not supported as it is under discussion as part of the ORB
    Enhanced Portability RFP.
  
  o Unions inside Any and Unions with boolean discriminators are not 
    supported.

  o Recursive typecodes are not supported.

  o The Principal pseudo object has attribute "identity" instead of "name".

  o The "_request(String s)" operation on org.omg.CORBA.Object for DII
     support is missing.

  o The add_in_arg(), add_out_arg() and add_inout_arg() operations on
     org.omg.CORBA.Request that take a string argument should be called
     add_named_in_arg(), add_named_out_arg() and add_named_inout_arg().

  o  methods "except()" and "except(Exception e)" on
     org.omg.CORBA.Environment should both be called "exception" instead
     of "except"